<template>
  <div class="column">
    <p>
      后弦 - 昆明湖 词：后弦 曲：后弦 编曲：后弦 放春周游忘三千里 昆明送湖见面雨
      错当苏堤 轻影瘦湖边投张绿 新撕小翠绸缎衣 将错就错乘春美意 岸离昆明十七句
      诗兴拥挤 云茶素眉等水来请 两毫春意透湖心 别了低不语 平仄心牢记
      春来怒放春归爱不提 湖拥山水厅 心却住昆明 化装茶马送你离去
    </p>
    <p>
      昆明转身湖水换成泪 我欲把心寄给春再暖一回 去年藏的柳絮己珍贵
      趁思念不备把冰融成泪 昆明转身湖水换成泪 我欲把心寄给春再暖一回
      去年藏的柳絮己珍贵 趁思念不备把冰融成泪
    </p>
    <p>
      误把昆明爱 爱比不爱更失败 败给矜持后现代 代我对爱说声 bye I don't cry
      误把昆明爱 爱比不爱更失败 败给矜持后现代 代我对爱说声 bye
    </p>
  </div>
  <div class="trans-fa">
    <div>1</div>
    <div>2</div>
    <div>3</div>
  </div>
  <div class="margin-overlap">
    <div class="margin-overlap-child"></div>
  </div>
  <div class="transform-scale"></div>
  <h2>flex布局</h2>
  <div class="flex-box">
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
    <div>6</div>
    <div>7</div>
    <div>8</div>
    <div>9</div>
  </div>
  <h2>
    Flex是Flexible Box的缩写，意为”弹性布局”，用来为盒状模型提供最大的灵活性。
  </h2>
  <h2>flex-direction属性决定主轴的方向（即项目的排列方向）</h2>
  <p>
    row（默认值）：主轴为水平方向，起点在左端。<br />
    row-reverse：主轴为水平方向，起点在右端。<br />
    column：主轴为垂直方向，起点在上沿。<br />
    column-reverse：主轴为垂直方向，起点在下沿。
  </p>
  <h2>flex-wrap属性定义，如果一条轴线排不下，如何换行</h2>
  <p>
    nowrap（默认）：不换行。<br />
    wrap：换行，第一行在上方。<br />
    wrap-reverse：换行，第一行在下方
  </p>
  <h2>
    flex-flow属性是flex-direction属性和flex-wrap属性的简写形式，默认值为row
    nowrap
  </h2>
  <h2>justify-content属性定义了项目在主轴上的对齐方式。</h2>
  <p>
    flex-start（默认值）：左对齐<br />
    flex-end：右对齐<br />
    center： 居中<br />
    space-between：两端对齐，项目之间的间隔都相等。<br />
    space-around：每个项目两侧的间隔相等。所以，项目之间的间隔比项目与边框的间隔大一倍。
  </p>
  <h2>align-items属性定义项目在交叉轴上如何对齐</h2>
  <p>
    flex-start：交叉轴的起点对齐。<br />
    flex-end：交叉轴的终点对齐。<br />
    center：交叉轴的中点对齐。<br />
    baseline: 项目的第一行文字的基线对齐。<br />
    stretch（默认值）：如果项目未设置高度或设为auto，将占满整个容器的高度。
  </p>
  <h2>
    align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线，该属性不起作用
  </h2>
  <p>
    flex-start：与交叉轴的起点对齐。<br />
    flex-end：与交叉轴的终点对齐。<br />
    center：与交叉轴的中点对齐。<br />
    space-between：与交叉轴两端对齐，轴线之间的间隔平均分布。<br />
    space-around：每根轴线两侧的间隔都相等。所以，轴线之间的间隔比轴线与边框的间隔大一倍。<br />
    stretch（默认值）：轴线占满整个交叉轴。
  </p>
  <br />
  <h2>order属性定义项目的排列顺序。数值越小，排列越靠前，默认为0。</h2>
  <h2>
    flex-grow属性定义项目的放大比例，默认为0，即如果存在剩余空间，也不放大。
  </h2>
  <p>
    如果所有项目的flex-grow属性都为1，则它们将等分剩余空间（如果有的话）。如果一个项目的flex-grow属性为2，其他项目都为1，则前者占据的剩余空间将比其他项多一倍。
  </p>
  <h2>
    flex-shrink属性定义了项目的缩小比例，默认为1，即如果空间不足，该项目将缩小
  </h2>
  <p>
    如果所有项目的flex-shrink属性都为1，当空间不足时，都将等比例缩小。如果一个项目的flex-shrink属性为0，其他项目都为1，则空间不足时，前者不缩小。
    负值对该属性无效。
  </p>
  <h2>
    flex-basis属性定义了在分配多余空间之前，项目占据的主轴空间（main size）
  </h2>
  <p>
    浏览器根据这个属性，计算主轴是否有多余空间。它的默认值为auto，即项目的本来大小。
  </p>
  <p>
    它可以设为跟width或height属性一样的值（比如350px），则项目将占据固定空间。
  </p>
  <h2>
    flex属性是flex-grow, flex-shrink 和 flex-basis的简写，默认值为0 1
    auto。后两个属性可选。
  </h2>
  <p>
    该属性有两个快捷值：auto (1 1 auto) 和 none (0 0 auto)。<br />
    建议优先使用这个属性，而不是单独写三个分离的属性，因为浏览器会推算相关值
  </p>
  <h2>
    align-self属性允许单个项目有与其他项目不一样的对齐方式，可覆盖align-items属性
  </h2>
  <p>
    默认值为auto，表示继承父元素的align-items属性，如果没有父元素，则等同于stretch。
  </p>
</template>
<script setup></script>
<style lang="scss" scoped>
.column {
  width: 700px;
  border: 1px solid #aaa;
  column-width: 200px;
}
.trans-fa {
  display: flex;
  > div {
    width: 100px;
    height: 100px;
  }
  :nth-child(1) {
    background-color: aqua;
  }
  :nth-child(2) {
    background-color: bisque;
    transform: translate(20px);
    z-index: 1;
  }
  :nth-child(3) {
    background-color: burlywood;
    z-index: 999;
  }
}
.margin-overlap {
  width: 200px;
  height: 200px;
  background-color: chartreuse;
  margin-top: 20px;
  // overflow: hidden;
  // display: flex;
  .margin-overlap-child {
    width: 100px;
    height: 100px;
    background-color: rgb(0, 89, 255);
    margin-top: 50px;
    display: inline-block;
  }
}

.transform-scale {
  width: 100px;
  height: 1px;
  margin-top: 20px;
  background-color: chocolate;
  transform: scale(1, 0.5);
}

.flex-box {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  // align-content: flex-start;
  width: 400px;
  height: 400px;
  border: 1px solid #ccc;

  div {
    width: 100px;
    height: 100px;
    background-color: aquamarine;
  }
}
</style>
